"""
 变量的作用于
    概述：
        变量的作用于指的是，变量在耐力能用，哪里不能用
        即：变量的作用范围

    分类：
        局部变量： 定义在函数内，或者 函数 形参列表中的变量
        全局变量： 定义在函数外的变量，或者使用 global 关键字修饰的变量

    面试题：
        局部变量 和 全局变量的区别？
            1. 定义位置不同：
                局部变量： 定义在函数内，或者 函数 形参列表中的变量
                全局变量：定义在函数外的变量，或者使用 global 关键字修饰的变量
            2. 在内存中的存储位置不同
                局部变量 ： 栈区中
                全局变量： 堆区中
            3. 生命周期不同：
                局部变量：随着函数第一次被调用被创建，函数调用的过程中存在，随着函数的调用完毕而消失
                全局变量: 随着.py文件(模块)第一次被导入而被创建，模块从内存中移除而消失

"""



# 案例一 ： 演示局部变量的作用域
def fun1():
    a = 10  # 局部变量
    print(f'a={a}')
    print(f'在函数fun1中调用全局变量b={b}')

# print(f'a={a}')  报错，超出了变量a的作用域


b = 100 # 全局变量

# 案例二： 演示全局变量的作用域
def fun2():
    print(f'在函数fun2中调用全局变量b={b}')
    # print(f'在函数fun2中调用局部变量a={a}')  # a的作用于在fun1()中


def fun3():
    print(f'在函数fun3中调用全局变量b={b}')


fun1()
fun2()
fun3()